package com.syx.system.Service;

import com.syx.commoncore.Model.Result;
import com.syx.commoncore.Model.TableDataInfoResult;
import com.syx.system.Model.exam.DTO.ExamAddDTO;
import com.syx.system.Model.exam.DTO.ExamEditDTO;
import com.syx.system.Model.exam.DTO.ExamQueryDTO;
import com.syx.system.Model.exam.DTO.ExamQuestionAddDTO;
import com.syx.system.Model.exam.VO.ExamDetailVO;

public interface IExamService {
    TableDataInfoResult list(ExamQueryDTO examQueryDTO);

    Result<String> add(ExamAddDTO examAddDTO);

    Result<Void> questionAdd(ExamQuestionAddDTO examQuestionAddDTO);

    Result<ExamDetailVO> detail(Long examId);

    Result<Void> edit(ExamEditDTO examEditDTO);

    Result<Void> questionDelete(Long examId, Long questionId);

    Result<Void> delete(Long examId);

    Result<Void> publish(Long examId);

    Result<Void> cancelPublish(Long examId);
}
